[Data]
life = 1000
attack = 100
defence = 100
fall.defence_up = 50
liedown.time = 20
airjuggle = 25
sparkno = S6001
guard.sparkno = -1
KO.echo = 0
volume = 0
IntPersistIndex = 0
FloatPersistIndex = 0

[Size]
xscale = 1
yscale = 1
ground.back = 11
ground.front = 11
air.back = 15
air.front = 15
height = 28
attack.dist = 80
proj.attack.dist = 80
proj.doscale = 2
head.pos = 1, -42
mid.pos = 1, -22
shadowoffset = 0
draw.offset = 0,0

[Velocity]
walk.fwd  = 2.6
walk.back = -2.4
run.fwd  = 4.2,-3.6
run.back = -3.8,-3.6
jump.neu = 0,-7.2
jump.back = -2.45
jump.fwd = 2.45
runjump.back = -2.3,-3.1
runjump.fwd = 2.5,-3.1
airjump.neu = 0
airjump.back = 0
airjump.fwd = 0

[Movement]
airjump.num = 0
airjump.height = 0
yaccel = .44
stand.friction = .85
crouch.friction = .82

[Quotes]
victory1 = "Looks like I blew you up!"
victory2 = "That fight was a blast!"
victory3 = "This is much better than dealing with pesky miners!"
victory4 = "Get dynablasted, punk!"
victory5 = "That sure relit my fuse!"
victory6 = "...well, it was still more fun than working at the factory!"
victory7 = "Hey! I would like to meet this Bomb Man that you know of!"
victory8 = "I see you blow things up a different way..."
victory9 = "You should've used more of your mines!"
;---------------------------------------------------------------------------
;Var List

;***Universal***
;var(0) = Command variable
;var(1) = Famicom Fighters character detection
;var(2) = First hit counter
;var(3) = Helper select
;var(4) = Victory quote variable
;var(5) = Juggle Count
;var(6) = Helper health
;var(7) = Helper meter
;var(8) = Pause variable
;var(9) = Special move combo condition
;var(10) = Command Detection
;var(20) = Detection for first hit of multi-hit/multi-state moves
;var(21) = Test Var
;var(22) = Identification Variable
;var(23) = Counter for Training Mode Detection
;var(24) = Training Mode Var	  
;var(25) = Death State Check
;var(27) = Test Var
;var(28) = Super Finish
;var(30) = Hide helper bars and move names
;var(31) = Max helper health
;var(32) = Countdown for helper select
;var(33) = Back Charge
;var(34) = Back Charge Ready
;var(35) = Down Charge
;var(36) = Down Charge Ready
;var(37) = Projectile Ready
;var(38) = Helper Ready
;var(39) = Helper Projectile Ready
;var(40) = Air Guard Option
;var(41) = Air Recovery Option
;var(42) = Helpers Option
;var(43) = Pause Option 
;var(44) = Control Scheme
;var(45) = Standalone Helper Bar (X-Position)
;var(46) = Standalone Helper Bar (Y-Position)
;var(47) = Standalone Helper Bar (BG)
;var(48) = Alt Victory Music
;var(50) = Reaction var
;var(51) = Tag team var
;var(52) = Projectile animation var
;var(53) = Assist check
;var(54) = Hyper Tag-In check
;var(55) = AI switch check
;var(58) = Special move command time var
;var(59) = AI Var
;fvar(0) = Helper bars scaling
;fvar(20) = Damage scaling, current power
;fvar(21) = Damage scaling, future power
;fvar(24) = Test Var
;fvar(30) = Special projectile Vel X
;fvar(31) = Special projectile Vel Y
;fvar(32) = Super projectile Vel X
;fvar(33) = Super projectile Vel Y
;fvar(34) = Helper projectile Vel X
;fvar(35) = Helper projectile Vel Y
;fvar(36) = Helper Vel X
;fvar(37) = Helper Vel Y


;***Specific***
;var(10) = Bomb Lay distance var
;var(11) = Bomb detonation var
;var(12) = EX Bombs Away var
;var(13) = EX Air Strike var
;var(14) = EX Bomb Lay bomb out
;var(15) = EX Bomb Away Damage Scaling
;var(40) = Destruction var
;fvar(10) = Air x-vel
;fvar(11) = Air y-vel

;***Helpers***
;(Hyper Helper, 4000)
;-var(1) - Destroyed Blocks
;-var(2) - THE GHOSTS, THEY'RE EATING AWAY MY SOUL

;---------------------------------------------------------------------------
; Lose by Time Over
[Statedef 170]
type = S
ctrl = 0
anim = 170
velset = 0,0

[State 5400, 1]
type = PlaySnd
trigger1 = Time = 0
value = S11,1
channel = 10

[State 5400, 2]
type = PosSet
trigger1 = Time = 79
y = 1000

[State 5400, 3]
type = ChangeState
trigger1 = Time = 79
value = 5150

[State 5400, 4]
type = AssertSpecial
trigger1 = 1
flag = nokoslow
flag2 = nomusic
flag3 = noshadow

[State 5400, 5]
type = AssertSpecial
trigger1 = 1
flag = roundnotover
;---------------------------------------------------------------------------
; Win state decider
[Statedef 180]
type = S

[State 180, 1]
type = ChangeState
trigger1 = !MatchOver && !Time
value = 181+8*(enemy,Name = "Bonus" && enemy,Var(0) = 0 && enemy,Var(5) = 0)

[State 180, 2]
type = ChangeState
trigger1 = MatchOver && !Time
value = 182+7*(enemy,Name = "Bonus" && enemy,Var(0) = 0 && enemy,Var(5) = 0)

;---------------------------------------------------------------------------
;Round Win
[Statedef 181]
type = S
ctrl = 0
anim = 180
velset = 0,0

[State 181, 1]
type = AssertSpecial
trigger1 = Time < 150
flag = roundnotover

[State 181, 2]
type = VelSet
trigger1 = (Anim = 180 || Anim = 181) && AnimElem = 4
y = -5.1*const(size.yscale)

[State 181, 3]
type = VelAdd
trigger1 = (Anim = 180 || Anim = 181) && AnimElemTime(4) >= 2
y = .44*const(size.yscale)

[State 181, 4]
type = ChangeAnim
trigger1 =  (Anim = 180 || Anim = 181) && (Vel Y > 0 && Pos Y >= 0) && AnimElemTime(4) >= 2
value = 181+1*(Anim = 181)

[State 181, 5]
type = VelSet
trigger1 = (Anim = 181 || Anim = 182) && AnimElemTime(1) = 0
y = 0

[State 181, 6]
type = PosSet
trigger1 = (Anim = 181 || Anim = 182) &&  AnimElemTime(1) = 0
y = 0

[State 181, 7]
type = PlaySnd
trigger1 = Anim != 182 && AnimElem = 4
value = S40,0

[State 181, 8]
type = PlaySnd
trigger1 = Anim = 182 && AnimElem = 2
value = S180,0

[State 181, 9]
type = ScreenBound
trigger1 = 1
value = 0
;---------------------------------------------------------------------------
;Match Win
[Statedef 182]
type = S
ctrl = 0
anim = 183
velset = 0,0

[State 182, 1]
type = AssertSpecial
trigger1 = Time <= (180 + (70*(PalNo = 4)) + (50*(PalNo = 6)))
flag = roundnotover

[State 182, 2]
type = VelSet
trigger1 = AnimElem = 13
y = -6.1*const(size.yscale)

[State 182, 3]
type = VelAdd
trigger1 = Time >= 76 && Pos Y < 0
y = .44*const(size.yscale)

[State 182, 4]
type = VelSet
trigger1 = Time >= 77 && Pos Y >= 0
y = 0

[State 182, 5]
type = AssertSpecial
trigger1 = Time >= 77 && Pos Y >= 0 
flag = invisible

[State 182, 6]
type = Explod
trigger1 = AnimElem = 12
anim = 908
ID = 180
pos = 0,0
postype = p1
facing = 1
vfacing = 1
bindtime = 1
removetime = -1
scale = const(size.xscale),const(size.yscale)
sprpriority = -3
ownpal = 1
removeongethit = 0

[State 182, 7]
type = PlaySnd
trigger1 = !NumPartner && !Time
value = S182,PalNo-1

[State 182, 8]
type = PlaySnd
triggerall = NumPartner
trigger1 = (ID = 56 || ID = 58) && !Time
trigger2 = (ID = 57 || ID = 59) && partner,Alive = 0 && !Time
value = S182,PalNo-1

[State 182, 9]
type = PlaySnd
trigger1 = AnimElem = 13
value = S40,0
;---------------------------------------------------------------------------
; PREINTRO
[Statedef 190]
type = S
ctrl = 0
velset = 0,0

[State 190, 1]
type = ChangeState
trigger1 = !NumPartner && Time && P2Name != "Mega Man"
value = 191

[State 190, 2]
type = ChangeState
trigger1 = !NumPartner && !Time && P2Name = "Mega Man"
value = 192

[State 190, 3]
type = ChangeState
trigger1 = NumPartner && P2Name != "Mega Man" && (ID = 56 || ID = 58) && !Time
value = 191

[State 190, 4]
type = ChangeState
trigger1 = NumPartner && P2Name = "Mega Man" && (ID = 56 || ID = 58) && !Time
value = 192

[State 190, 5]
type = ChangeState
trigger1 = NumPartner && (ID = 57 || ID = 59) && !Time
value = 195
;---------------------------------------------------------------------------
; Introduction
[Statedef 191]
type = S
ctrl = 0
anim = 190
sprpriority = 5

[State 191, 1]
type = AssertSpecial
trigger1 = Time < 220
flag = Intro

[State 191, 2]
type = ScreenBound
trigger1 = 1
value = 0

[State 191, 3]
type = Explod
trigger1 = !Time
anim = 900
ID = 190
pos = ceil(-1*const(size.xscale)),0
postype = p1
facing = 1
vfacing = 1
bindtime = 1
removetime = 15
scale = const(size.xscale),const(size.yscale)
sprpriority = 6
ownpal = 1

[State 191, 4]
type = Explod
trigger1 = !Time
anim = 901
ID = 190
pos = 0,0
postype = p1
facing = 1
vfacing = 1
bindtime = 1
removetime = 15
scale = const(size.xscale),const(size.yscale)
sprpriority = 6
ownpal = 1

[State 191, 5]
type = Explod
trigger1 = Time = 15
anim = 900
ID = 190
pos = ceil(-1*const(size.xscale)),0
postype = p1
vel = -3.2*const(size.xscale),-5.9*const(size.yscale)
accel = 0,.44*const(size.yscale)
facing = 1
vfacing = 1
bindtime = 1
removetime = 40
scale = const(size.xscale),const(size.yscale)
sprpriority = 6
ownpal = 1

[State 191, 6]
type = Explod
trigger1 = Time = 15
anim = 901
ID = 190
pos = ceil(1*const(size.xscale)),0
postype = p1
vel = 3.2*const(size.xscale),-5.9*const(size.yscale)
accel = 0,.44*const(size.yscale)
facing = 1
vfacing = 1
bindtime = 1
removetime = 40
scale = const(size.xscale),const(size.yscale)
sprpriority = 6
ownpal = 1

[State 191, 6]
type = Explod
trigger1 = Time = 15
anim = 902
ID = 190
pos = 0,0
postype = p1
facing = 1
vfacing = 1
bindtime = 1
removetime = -2
scale = const(size.xscale),const(size.yscale)
sprpriority = 5
ownpal = 1

[State 191, 7]
type = PlaySnd
trigger1 = Time = 15
value = S190,0

[State 191, 8]
type = ChangeState
trigger1 = !AnimTime
value = 0
;---------------------------------------------------------------------------
; PREINTRO
[Statedef 192]
type = S
ctrl = 0
velset = 0,0
anim = 192
sprpriority = 5

[State 195, 1]
type = Helper
trigger1 = AnimElem = 1
name = "Bomb"
ID = 195
stateno = 193
pos = ceil(12*const(size.xscale)),ceil(-36*const(size.yscale))
postype = p1
facing = 1
ownpal = 1
size.xscale = const(size.xscale)
size.yscale = const(size.yscale)

[State 191, 2]
type = AssertSpecial
trigger1 = AnimTime
flag = Intro

[State 191, 3]
type = ChangeState
trigger1 = !AnimTime
value = 0
;---------------------------------------------------------------------------
; PREINTRO
[Statedef 193]
type = S
ctrl = 0
velset = 0,0
anim = 193

[State 193, 1]
type = PosAdd
trigger1 = root,AnimElem = 2
y = 6*const(size.yscale)

[State 193, 2]
type = PosAdd
trigger1 = root,AnimElem = 3
y = -6*const(size.yscale)

[State 193, 3]
type = VelSet
trigger1 = root,AnimElem = 3
y = -5.1*const(size.yscale)

[State 193, 4]
type = VelAdd
trigger1 = Time > 70 && Pos Y < -36
y = .44*const(size.yscale)

[State 193, 5]
type = VelSet
trigger1 = Pos Y > -36 && Vel Y > 0
y = 0

[State 193, 6]
type = PosSet
trigger1 = Time > 70 && Vel Y = 0
y = -36*const(size.yscale)

[State 193, 7]
type = DestroySelf
trigger1 =  root,AnimElem = 4


;---------------------------------------------------------------------------
; Taunt
[Statedef 195]
type = S
movetype = I
physics = S
ctrl = 0
anim = 195
velset = 0,0
sprpriority = 2

[State 195, 1]
type = PlaySnd
trigger1 = AnimElem = 7 || AnimElem = 14
value = S180,0

[State 195, 2]
type = ChangeState
trigger1 = !AnimTime
value = 0
ctrl = 1
;========================<EXPLODSIVE BUFFERING HELPER>=============================
[StateDef 90000005]
type = A
physics = N
moveType = I
anim = 1
velSet = 0,0
ctrl = 0
     
[State 90000005, DisplayToClipboard]
type = DisplayToClipboard
trigger1 = 1
text = "by JustMorphPointman"
ignoreHitPause = 1
;---------------------------------------------------------------------------
; Override common states (use same number to override) :
;---------------------------------------------------------------------------
;HIT_DEFEATED
[Statedef 5600]
type    = L
movetype= H
physics = N
sprpriority = -3
velset = 0,0
anim = 5600
ctrl = 0

[State 5400, 1]
type = PlaySnd
trigger1 = Time = 0
value = S11,1
channel = 10

[State 5400, 2]
type = PosSet
trigger1 = Time = 79
y = 1000

[State 5400, 3]
type = ChangeState
trigger1 = Time = 79
value = 5150

[State 5400, 4]
type = AssertSpecial
trigger1 = 1
flag = nomusic
flag2 = noshadow

[State 5400, 5]
type = AssertSpecial
trigger1 = 1
flag = roundnotover